package cn.kgm.template.server.struct;

import cn.kgm.template.dto.dto.TemplateOptionsSaveDTO;
import cn.kgm.template.dto.dto.TemplateOptionsUpdateDTO;
import cn.kgm.template.dto.query.TemplateOptionsPageQuery;
import cn.kgm.template.dto.vo.TemplateOptionsVO;
import cn.kgm.template.server.entity.TemplateOptions;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 模板数据,选择项表
 *
 * @author kapp-i
 * @date 2024-03-18 14:47:45
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface TemplateOptionsMappers {
    TemplateOptionsMappers INSTANCE = Mappers.getMapper(TemplateOptionsMappers.class);

    /**
     * 将 TemplateOptionsSaveDTO 映射成 TemplateOptions 对象
     *
     * @param source 源对象
     * @return TemplateOptions
     */
    TemplateOptions mapToEntity(TemplateOptionsSaveDTO source);

    /**
     * 将 TemplateOptionsUpdateDTO 映射成 TemplateOptions 对象
     *
     * @param source 源对象
     * @return TemplateOptions
     */
    TemplateOptions mapToEntity(TemplateOptionsUpdateDTO source);

    /**
     * TemplateOptionsPageQuery 映射成 TemplateOptions 对象
     *
     * @param source 源对象
     * @return TemplateOptions
     */
    TemplateOptions mapToEntity(TemplateOptionsPageQuery source);

    /**
     * TemplateOptionsPageQuery 映射成 TemplateOptions 对象
     *
     * @param source 源对象
     * @return TemplateOptionsVO
     */
    TemplateOptionsVO mapToEntity(TemplateOptions source);

}
